﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;

namespace GirisSayfasi
{
    public partial class ProjeTamamlama : Form
    {
        ProjeOgrenciArama frmProjeOgrenciArama = new ProjeOgrenciArama();
        ProjeSinifArama frmProjeSinifArama = new ProjeSinifArama();
        ProjeProjeArama frmProjeProjeArama = new ProjeProjeArama();
        ProjeOgretmenArama frmProjeOgretmenArama = new ProjeOgretmenArama();
        MySqlConnection baglan = Connection.baglan;

        string mskBuDersKodu;

        public ProjeTamamlama()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            frmProjeOgrenciArama.ShowDialog();
        }

        private void ProjeTamamlama_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

        }

        private void mskProjeKodu_Leave(object sender, EventArgs e)
        {            
            ////// proje kodu 5 karakter mi?
            int len = mskProjeKodu.Text.Length;

            //// proje kodu 5 karakterse
            if (len == 5)
            {

                ///// proje açılanlarda mı
                baglan.Open();
                MySqlCommand cmd1 = new MySqlCommand("SELECT AcilanProjeKodu FROM acilansiniflar Where AcilanProjeKodu=@mskProjeKodu", baglan);
                cmd1.Parameters.AddWithValue("@mskProjeKodu", mskProjeKodu.Text);
                int sayi = Convert.ToInt32(cmd1.ExecuteScalar());

                ////// eğer açılan sınıflarda bu proje varsa
                if (sayi != 0)
                {
                    MySqlCommand cmd2 = new MySqlCommand("select AcilanProjeKodu,AcilanDersKodu,AcilanSinifKodu,AcilanOgretmenTc,AcilanOgrenciTc,AcilanKayitUcreti,AcilanOgrenciKayitTarihi,AcilanDurumu,OgrenciAdi,OgrenciSoyadi,AcilanOgrenciTc,DersIsmi,SinifAdi,OgretmenAdi,OgretmenSoyadi, ProjeAdi, ProjeDersKodu,ProjeToplamSaat from acilansiniflar,ogrencilistesi,ogretmenlistesi,derslistesi,siniflistesi, projelistesi where acilansiniflar.AcilanProjeKodu = '" + mskProjeKodu.Text + "' AND  ogrencilistesi.OgrenciTc = acilansiniflar.AcilanOgrenciTc AND ogretmenlistesi.OgretmenTc=acilansiniflar.AcilanOgretmenTc AND derslistesi.DersKodu=acilansiniflar.AcilanDersKodu AND siniflistesi.SinifKodu=acilansiniflar.AcilanSinifKodu AND acilansiniflar.AcilanProjeKodu=projelistesi.ProjeKodu", baglan);
                    MySqlDataReader oku1 = cmd2.ExecuteReader();
                    if (oku1.HasRows)
                    {
                        listView1.Items.Clear();
                        while (oku1.Read())
                        {
                            ListViewItem lst = new ListViewItem();
                            lst.Text = oku1["OgrenciAdi"].ToString() + " " + oku1["OgrenciSoyadi"].ToString();
                            lst.SubItems.Add(oku1["AcilanKayitUcreti"].ToString());
                            lst.SubItems.Add(oku1["AcilanOgrenciKayitTarihi"].ToString());
                            lst.Tag = oku1["AcilanOgrenciTc"];
                            listView1.Items.Add(lst);
                        }

                        mskSinifKodu.Text = oku1["AcilanSinifKodu"].ToString();
                        mskOgretmenTc.Text = oku1["AcilanOgretmenTc"].ToString();
                        txtDersIsmi.Text = oku1["DersIsmi"].ToString();
                        txtProjeAdi.Text = oku1["ProjeAdi"].ToString();
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + " " + oku1["OgretmenSoyadi"].ToString();

                        mskBuDersKodu = oku1["ProjeDersKodu"].ToString();
                        txtToplamSaat.Text = oku1["ProjeToplamSaat"].ToString();

                    }


                    ////// proje tamamlanmamışsa
                    if (Convert.ToInt32(oku1["AcilanDurumu"]) != 1)
                    {
                        mskSinifKodu.ReadOnly = true;
                        mskOgretmenTc.ReadOnly = true;
                        button2.Enabled = false;
                        button5.Enabled = false;
                        button4.Enabled = false;
                        button3.Enabled = false;
                        button6.Enabled = false;
                        listView1.Enabled = false;
                        mskOgrenciTc.Enabled = false;
                        txtKayitBedeli.Enabled = false;
                        lblUyari.Text = "Açılmış Sınıfa Düzenleme Yapılamaz.";
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + " " + oku1["OgretmenSoyadi"].ToString();
                        mskOgrenciTc.Focus();
                        baglan.Close();
                    }

                    ////// proje tamamlanmışsa
                    else
                    {
                        button6.Enabled = true;
                        mskSinifKodu.ReadOnly = false;
                        mskOgretmenTc.ReadOnly = false;
                        button2.Enabled = true;
                        button5.Enabled = true;
                        button4.Enabled = true;
                        button3.Enabled = true;
                        button6.Enabled = true;
                        listView1.Enabled = true;
                        mskOgrenciTc.Enabled = true;
                        txtKayitBedeli.Enabled = true;
                        lblUyari.Text = "";
                        baglan.Close();
                    }

                    baglan.Close();
                }







                ///// eğer açılan sınıflarda bu proje yoksa
                else
                {
                    MySqlCommand cmd = new MySqlCommand("select ProjeAdi,ProjeDersKodu,DersIsmi,DersKodu from projelistesi, derslistesi where projelistesi.ProjeKodu = '" + mskProjeKodu.Text + "' AND derslistesi.DersKodu=projelistesi.ProjeDersKodu", baglan);
                    MySqlDataReader oku2 = cmd.ExecuteReader();
                    while (oku2.Read())
                    {
                        txtProjeAdi.Text = oku2["ProjeAdi"].ToString();
                        mskBuDersKodu = oku2["ProjeDersKodu"].ToString();
                        txtDersIsmi.Text = oku2["DersIsmi"].ToString();
                    }

                    button6.Enabled = true;
                    mskSinifKodu.ReadOnly = false;
                    mskOgretmenTc.ReadOnly = false;
                    button2.Enabled = true;
                    button5.Enabled = true;
                    button4.Enabled = true;
                    button3.Enabled = true;
                    button6.Enabled = true;
                    listView1.Enabled = true;
                    mskOgrenciTc.Enabled = true;
                    txtKayitBedeli.Enabled = true;
                    lblUyari.Text = String.Empty;
                    mskOgrenciTc.Clear();
                    mskOgretmenTc.Clear();
                    mskSinifKodu.Clear();
                    txtKayitBedeli.Clear();
                    txtOgrenciAdiSoyadi.Clear();
                    txtOgretmenAdiSoyadi.Clear();
                    txtSinifAdi.Clear();
                    txtDersIsmi.Clear();
                    baglan.Close();
                }




            }

        }


        private void mskSinifKodu_Leave(object sender, EventArgs e)
        {
            int len = mskSinifKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + mskSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtSinifAdi.Text = oku["SinifAdi"].ToString();
                    }
                }
                baglan.Close();

            }

        }

        private void maskedTextBox1_Leave(object sender, EventArgs e)
        {
            int len = mskOgrenciTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogrencilistesi where OgrenciTc = '" + mskOgrenciTc.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgrenciAdiSoyadi.Text = oku["OgrenciAdi"].ToString() + " " + oku["OgrenciSoyadi"].ToString();
                    }
                }
                baglan.Close();
            }
        }

        private void mskOgretmenTc_Leave(object sender, EventArgs e)
        {
            int len = mskOgretmenTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogretmenlistesi where OgretmenTc = '" + mskOgretmenTc.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgretmenAdiSoyadi.Text = oku["OgretmenAdi"].ToString() + " " + oku["OgretmenSoyadi"].ToString();
                    }
                }
                baglan.Close();
            }

        }

        private void button4_Click(object sender, EventArgs e)
        {
            int len = txtProjeAdi.Text.Length;
            int uzunluk = txtSinifAdi.Text.Length;
            int uzunluk1 = txtOgretmenAdiSoyadi.Text.Length;
            int uzunluk2 = txtOgrenciAdiSoyadi.Text.Length;
            if (txtProjeAdi.Text == "")
            {
                MessageBox.Show("Proje Kodu Boş Bırakılamaz");
                mskProjeKodu.Focus();
            }
            else if (txtSinifAdi.Text == "")
            {
                MessageBox.Show("Sınıf Kodu Boş Bırakılamaz");
                mskSinifKodu.Focus();
            }
            else if (txtOgretmenAdiSoyadi.Text == "")
            {
                MessageBox.Show("Öğretmen Tc 11 Hane Olmalıdır");
                mskOgretmenTc.Focus();
            }
            else if (txtOgrenciAdiSoyadi.Text == "")
            {
                MessageBox.Show("Öğrenci Tc 11 Hane Olmalıdır");
                mskOgrenciTc.Focus();
            }
            else if (txtKayitBedeli.Text == "")
            {
                MessageBox.Show("Kayıt Bedeli Boş Bırakılamaz");
                txtKayitBedeli.Focus();
            }
            else
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from acilansiniflar where AcilanOgrenciTc = '" + mskOgrenciTc.Text + "' AND AcilanProjeKodu = '" + mskProjeKodu.Text + "' AND AcilanUniq = '" + mskProjeKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count == 0)
                {

                    ListViewItem yeni = new ListViewItem(); // Yeni bir listview item nesnesi oluşturduk.
                    yeni.Tag = mskOgrenciTc.Text.ToString(); // Tag özelliğini debug halindeyken göremeyiz. Bu geride veri tutmak istediğimizde işimize yarayan bir özelliktir.

                    yeni.Text = txtOgrenciAdiSoyadi.Text.ToString(); // Text özelliği ilk kolonumuza veri girerken kullandığımız özelliktir.
                    yeni.SubItems.Add(txtKayitBedeli.Text.ToString());
                    yeni.SubItems.Add(dateKayitTarihi.Value.ToString("yyyy/MM/dd"));

                    string BaslangicTarihi = dateSinifBaslangic.Value.ToString("yyyy/MM/dd");
                    string BaslangicSaati = timeBaslama.Value.ToString("HH:mm:ss");
                    string BitisSaati = timeBitis.Value.ToString("HH:mm:ss");
                    string KayitTarihi = dateKayitTarihi.Value.ToString("yyyy/MM/dd");

                    MySqlCommand ekle = new MySqlCommand("insert into acilansiniflar (AcilanID,AcilanUniq,AcilanProjeKodu,AcilanDersKodu,AcilanAcilisTarihi,AcilanBaslamaSaati,AcilanBitisSaati,AcilanKapanisTarihi,AcilanSinifKodu,AcilanOgretmenTc,AcilanOgrenciTc,AcilanOgrenciKayitTarihi,AcilanKayitUcreti,AcilanToplamSaat,AcilanDurumu) VALUES ('','" + mskProjeKodu.Text + "','" + mskProjeKodu.Text + "','" + mskBuDersKodu + "','" + BaslangicTarihi + "','" + BaslangicSaati + "','" + BitisSaati + "','','" + mskSinifKodu.Text + "','" + mskOgretmenTc.Text + "','" + mskOgrenciTc.Text + "','" + KayitTarihi + "','" + txtKayitBedeli.Text + "','" + txtToplamSaat.Text + "','1')", baglan);
                    ekle.ExecuteNonQuery();
                    listView1.Items.Add(yeni); //  listviewitem nesnesinin içerisiğini oluşturduktan sonra listvies nesnemizin elemanları arasına bunu ekliyoruz.
                }
                else
                {
                    MessageBox.Show("Bu Öğrenci Projeye Eklenmiş. Tekrar Ekleyemezsiniz");
                }


                mskOgrenciTc.Clear();
                txtOgrenciAdiSoyadi.Clear();
                txtKayitBedeli.Clear();
                mskOgrenciTc.Focus();

                baglan.Close();
            }
        }

        private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Öğrenci Silinecek Emin Misiniz?", "Emin Misiniz?", MessageBoxButtons.YesNo);
            if (dialogResult == DialogResult.Yes)
            {

                baglan.Open();
                MySqlCommand sil = new MySqlCommand("delete from acilansiniflar WHERE AcilanUniq='" + mskProjeKodu.Text + "' AND  AcilanProjeKodu='" + mskProjeKodu.Text + "' AND  AcilanOgrenciTc='" + listView1.SelectedItems[0].Tag.ToString() + "'", baglan);
                sil.ExecuteNonQuery();
                listView1.SelectedItems[0].Remove();
                mskOgrenciTc.Clear();
                txtOgrenciAdiSoyadi.Clear();
                txtKayitBedeli.Clear();
                mskOgrenciTc.Focus();

                ////listView1.Items[i].Tag.ToString()
                ///MessageBox.Show(listView1.SelectedItems[0].Tag.ToString());
                baglan.Close();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            frmProjeOgrenciArama.ShowDialog();
        }

        private void button3_Leave(object sender, EventArgs e)
        {
            int len = mskOgrenciTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogrencilistesi where OgrenciTc = '" + mskOgrenciTc.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgrenciAdiSoyadi.Text = oku["OgrenciAdi"].ToString() + oku["OgrenciSoyadi"].ToString();
                    }
                }
                txtKayitBedeli.Focus();
                baglan.Close();
            }

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            frmProjeProjeArama.ShowDialog();
        }

        private void button1_Leave(object sender, EventArgs e)
        {
            ////// proje kodu 5 karakter mi?
            int len = mskProjeKodu.Text.Length;

            //// proje kodu 5 karakterse
            if (len == 5)
            {

                ///// proje açılanlarda mı
                baglan.Open();
                MySqlCommand cmd1 = new MySqlCommand("SELECT AcilanProjeKodu FROM acilansiniflar Where AcilanProjeKodu=@mskProjeKodu", baglan);
                cmd1.Parameters.AddWithValue("@mskProjeKodu", mskProjeKodu.Text);
                int sayi = Convert.ToInt32(cmd1.ExecuteScalar());

                ////// eğer açılan sınıflarda bu proje varsa
                if (sayi != 0)
                {
                    MySqlCommand cmd2 = new MySqlCommand("select AcilanProjeKodu,AcilanDersKodu,AcilanSinifKodu,AcilanOgretmenTc,AcilanOgrenciTc,AcilanKayitUcreti,AcilanOgrenciKayitTarihi,AcilanDurumu,OgrenciAdi,OgrenciSoyadi,AcilanOgrenciTc,DersIsmi,SinifAdi,OgretmenAdi,OgretmenSoyadi, ProjeAdi, ProjeDersKodu,ProjeToplamSaat from acilansiniflar,ogrencilistesi,ogretmenlistesi,derslistesi,siniflistesi, projelistesi where acilansiniflar.AcilanProjeKodu = '" + mskProjeKodu.Text + "' AND  ogrencilistesi.OgrenciTc = acilansiniflar.AcilanOgrenciTc AND ogretmenlistesi.OgretmenTc=acilansiniflar.AcilanOgretmenTc AND derslistesi.DersKodu=acilansiniflar.AcilanDersKodu AND siniflistesi.SinifKodu=acilansiniflar.AcilanSinifKodu AND acilansiniflar.AcilanProjeKodu=projelistesi.ProjeKodu", baglan);
                    MySqlDataReader oku1 = cmd2.ExecuteReader();
                    if (oku1.HasRows)
                    {
                        listView1.Items.Clear();
                        while (oku1.Read())
                        {
                            ListViewItem lst = new ListViewItem();
                            lst.Text = oku1["OgrenciAdi"].ToString() + " " + oku1["OgrenciSoyadi"].ToString();
                            lst.SubItems.Add(oku1["AcilanKayitUcreti"].ToString());
                            lst.SubItems.Add(oku1["AcilanOgrenciKayitTarihi"].ToString());
                            lst.Tag = oku1["AcilanOgrenciTc"];
                            listView1.Items.Add(lst);
                        }

                        mskSinifKodu.Text = oku1["AcilanSinifKodu"].ToString();
                        mskOgretmenTc.Text = oku1["AcilanOgretmenTc"].ToString();
                        txtDersIsmi.Text = oku1["DersIsmi"].ToString();
                        txtProjeAdi.Text = oku1["ProjeAdi"].ToString();
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + " " + oku1["OgretmenSoyadi"].ToString();

                        mskBuDersKodu = oku1["ProjeDersKodu"].ToString();
                        txtToplamSaat.Text = oku1["ProjeToplamSaat"].ToString();
                    }


                    ////// proje tamamlanmamışsa
                    if (Convert.ToInt32(oku1["AcilanDurumu"]) != 1)
                    {
                        mskSinifKodu.ReadOnly = true;
                        mskOgretmenTc.ReadOnly = true;
                        button2.Enabled = false;
                        button5.Enabled = false;
                        button4.Enabled = false;
                        button3.Enabled = false;
                        button6.Enabled = false;
                        listView1.Enabled = false;
                        mskOgrenciTc.Enabled = false;
                        txtKayitBedeli.Enabled = false;
                        lblUyari.Text = "Açılmış Sınıfa Düzenleme Yapılamaz.";
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + " " + oku1["OgretmenSoyadi"].ToString();
                        mskOgrenciTc.Focus();
                        baglan.Close();
                    }

                    ////// proje tamamlanmışsa
                    else
                    {
                        button6.Enabled = true;
                        mskSinifKodu.ReadOnly = false;
                        mskOgretmenTc.ReadOnly = false;
                        button2.Enabled = true;
                        button5.Enabled = true;
                        button4.Enabled = true;
                        button3.Enabled = true;
                        button6.Enabled = true;
                        listView1.Enabled = true;
                        mskOgrenciTc.Enabled = true;
                        txtKayitBedeli.Enabled = true;
                        lblUyari.Text = "";
                        baglan.Close();
                    }

                    baglan.Close();
                }







                ///// eğer açılan sınıflarda bu proje yoksa
                else
                {
                    MySqlCommand cmd = new MySqlCommand("select ProjeAdi,ProjeDersKodu,DersIsmi,DersKodu from projelistesi, derslistesi where projelistesi.ProjeKodu = '" + mskProjeKodu.Text + "' AND derslistesi.DersKodu=projelistesi.ProjeDersKodu", baglan);
                    MySqlDataReader oku2 = cmd.ExecuteReader();
                    while (oku2.Read())
                    {
                        txtProjeAdi.Text = oku2["ProjeAdi"].ToString();
                        mskBuDersKodu = oku2["ProjeDersKodu"].ToString();
                        txtDersIsmi.Text = oku2["DersIsmi"].ToString();
                    }
                    button6.Enabled = true;
                    mskSinifKodu.ReadOnly = false;
                    mskOgretmenTc.ReadOnly = false;
                    button2.Enabled = true;
                    button5.Enabled = true;
                    button4.Enabled = true;
                    button3.Enabled = true;
                    button6.Enabled = true;
                    listView1.Enabled = true;
                    mskOgrenciTc.Enabled = true;
                    txtKayitBedeli.Enabled = true;
                    lblUyari.Text = String.Empty;
                    mskOgrenciTc.Clear();
                    mskOgretmenTc.Clear();
                    mskSinifKodu.Clear();
                    txtKayitBedeli.Clear();
                    txtOgrenciAdiSoyadi.Clear();
                    txtOgretmenAdiSoyadi.Clear();
                    txtSinifAdi.Clear();
                    txtDersIsmi.Clear();
                    baglan.Close();
                }




            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            frmProjeSinifArama.ShowDialog();
        }

        private void button2_Leave(object sender, EventArgs e)
        {
            int len = mskSinifKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + mskSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtSinifAdi.Text = oku["SinifAdi"].ToString();
                    }
                }
                mskOgretmenTc.Focus();
                baglan.Close();
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            frmProjeOgretmenArama.ShowDialog();
        }

        private void button5_Leave(object sender, EventArgs e)
        {
            int len = mskOgretmenTc.Text.Length;
            if (len == 11)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from ogretmenlistesi where OgretmenTc = '" + mskOgretmenTc.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtOgretmenAdiSoyadi.Text = oku["OgretmenAdi"].ToString()+ " " + oku["OgretmenSoyadi"].ToString();
                    }
                }
                baglan.Close();
            }
            dateSinifBaslangic.Focus();
        }


        private void txtKayitBedeli_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void button6_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Sınıf Açılışını Onaylıyor Musunuz?", "Emin Misiniz?", MessageBoxButtons.YesNo);
            if (dialogResult == DialogResult.Yes)
            {
                string BaslangicSaati = timeBaslama.Value.ToString("HH:mm:ss");
                string BitisSaati = timeBitis.Value.ToString("HH:mm:ss");

                baglan.Open();
                MySqlCommand degistir = new MySqlCommand("update acilansiniflar set AcilanDurumu='2', AcilanSinifKodu='" + mskSinifKodu.Text + "',AcilanBaslamaSaati='" + BaslangicSaati + "',AcilanBitisSaati='" + BitisSaati + "', AcilanOgretmenTc='" + mskOgretmenTc.Text + "', AcilanToplamSaat='" + txtToplamSaat.Text + "' where AcilanProjeKodu = '" + mskProjeKodu.Text + "'", baglan);
                degistir.ExecuteNonQuery();
                mskProjeKodu.Clear();
                mskOgretmenTc.Clear();
                mskProjeKodu.Clear();
                mskSinifKodu.Clear();
                txtKayitBedeli.Clear();
                txtOgrenciAdiSoyadi.Clear();
                txtOgretmenAdiSoyadi.Clear();
                txtProjeAdi.Clear();
                txtSinifAdi.Clear();
                listView1.Items.Clear();
                txtDersIsmi.Clear();
                mskProjeKodu.Focus();
                MessageBox.Show("Sınıf Başarıyla Açılmıştır.");
                baglan.Close();
            }
            else if (dialogResult == DialogResult.No)
            {
                mskOgrenciTc.Focus();
            }
        }

        private void ProjeTamamlama_FormClosing(object sender, FormClosingEventArgs e)
        {
            mskProjeKodu.Clear();
            mskOgretmenTc.Clear();
            mskProjeKodu.Clear();
            mskSinifKodu.Clear();
            txtKayitBedeli.Clear();
            txtOgrenciAdiSoyadi.Clear();
            txtOgretmenAdiSoyadi.Clear();
            txtProjeAdi.Clear();
            txtSinifAdi.Clear();
            listView1.Items.Clear();
            txtDersIsmi.Clear();
            lblUyari.Text = "";
            mskProjeKodu.Focus();
            baglan.Close();
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void ProjeTamamlama_Load(object sender, EventArgs e)
        {
            ////// proje kodu 5 karakter mi?
            int len = mskProjeKodu.Text.Length;

            //// proje kodu 5 karakterse
            if (len == 5)
            {

                ///// proje açılanlarda mı
                baglan.Open();
                MySqlCommand cmd1 = new MySqlCommand("SELECT AcilanProjeKodu FROM acilansiniflar Where AcilanProjeKodu=@mskProjeKodu", baglan);
                cmd1.Parameters.AddWithValue("@mskProjeKodu", mskProjeKodu.Text);
                int sayi = Convert.ToInt32(cmd1.ExecuteScalar());

                ////// eğer açılan sınıflarda bu proje varsa
                if (sayi != 0)
                {
                    MySqlCommand cmd2 = new MySqlCommand("select AcilanProjeKodu,AcilanDersKodu,AcilanSinifKodu,AcilanOgretmenTc,AcilanOgrenciTc,AcilanKayitUcreti,AcilanOgrenciKayitTarihi,AcilanDurumu,OgrenciAdi,OgrenciSoyadi,AcilanOgrenciTc,DersIsmi,SinifAdi,OgretmenAdi,OgretmenSoyadi, ProjeAdi, ProjeDersKodu,ProjeToplamSaat from acilansiniflar,ogrencilistesi,ogretmenlistesi,derslistesi,siniflistesi, projelistesi where acilansiniflar.AcilanProjeKodu = '" + mskProjeKodu.Text + "' AND  ogrencilistesi.OgrenciTc = acilansiniflar.AcilanOgrenciTc AND ogretmenlistesi.OgretmenTc=acilansiniflar.AcilanOgretmenTc AND derslistesi.DersKodu=acilansiniflar.AcilanDersKodu AND siniflistesi.SinifKodu=acilansiniflar.AcilanSinifKodu AND acilansiniflar.AcilanProjeKodu=projelistesi.ProjeKodu", baglan);
                    MySqlDataReader oku1 = cmd2.ExecuteReader();
                    if (oku1.HasRows)
                    {
                        listView1.Items.Clear();
                        while (oku1.Read())
                        {
                            ListViewItem lst = new ListViewItem();
                            lst.Text = oku1["OgrenciAdi"].ToString() + " " + oku1["OgrenciSoyadi"].ToString();
                            lst.SubItems.Add(oku1["AcilanKayitUcreti"].ToString());
                            lst.SubItems.Add(oku1["AcilanOgrenciKayitTarihi"].ToString());
                            lst.Tag = oku1["AcilanOgrenciTc"];
                            listView1.Items.Add(lst);
                        }

                        mskSinifKodu.Text = oku1["AcilanSinifKodu"].ToString();
                        mskOgretmenTc.Text = oku1["AcilanOgretmenTc"].ToString();
                        txtDersIsmi.Text = oku1["DersIsmi"].ToString();
                        txtProjeAdi.Text = oku1["ProjeAdi"].ToString();
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + " " + oku1["OgretmenSoyadi"].ToString();

                        mskBuDersKodu = oku1["ProjeDersKodu"].ToString();
                        txtDersIsmi.Text = oku1["DersIsmi"].ToString();
                        txtToplamSaat.Text = oku1["ProjeToplamSaat"].ToString();
                    }


                    ////// proje tamamlanmamışsa
                    if (Convert.ToInt32(oku1["AcilanDurumu"]) != 1)
                    {
                        mskSinifKodu.ReadOnly = true;
                        mskOgretmenTc.ReadOnly = true;
                        button2.Enabled = false;
                        button5.Enabled = false;
                        button4.Enabled = false;
                        button3.Enabled = false;
                        button6.Enabled = false;
                        listView1.Enabled = false;
                        mskOgrenciTc.Enabled = false;
                        txtKayitBedeli.Enabled = false;
                        lblUyari.Text = "Açılmış Sınıfa Düzenleme Yapılamaz.";
                        txtSinifAdi.Text = oku1["SinifAdi"].ToString();
                        txtOgretmenAdiSoyadi.Text = oku1["OgretmenAdi"].ToString() + oku1["OgretmenSoyadi"].ToString();
                        txtDersIsmi.Text = oku1["DersIsmi"].ToString();
                        baglan.Close();
                    }

                    ////// proje tamamlanmışsa
                    else
                    {
                        button6.Enabled = true;
                        mskSinifKodu.ReadOnly = false;
                        mskOgretmenTc.ReadOnly = false;
                        button2.Enabled = true;
                        button5.Enabled = true;
                        button4.Enabled = true;
                        button3.Enabled = true;
                        button6.Enabled = true;
                        listView1.Enabled = true;
                        mskOgrenciTc.Enabled = true;
                        txtKayitBedeli.Enabled = true;
                        lblUyari.Text = "";
                        mskOgrenciTc.Focus();
                        baglan.Close();
                    }

                    baglan.Close();
                }







                ///// eğer açılan sınıflarda bu proje yoksa
                else
                {
                    MySqlCommand cmd = new MySqlCommand("select ProjeAdi,ProjeDersKodu,DersIsmi,DersKodu from projelistesi, derslistesi where projelistesi.ProjeKodu = '" + mskProjeKodu.Text + "' AND derslistesi.DersKodu=projelistesi.ProjeDersKodu", baglan);
                    MySqlDataReader oku2 = cmd.ExecuteReader();
                    while (oku2.Read())
                    {
                        txtProjeAdi.Text = oku2["ProjeAdi"].ToString();
                        mskBuDersKodu = oku2["ProjeDersKodu"].ToString();
                        txtDersIsmi.Text = oku2["DersIsmi"].ToString();
                    }
                    button6.Enabled = true;
                    mskSinifKodu.ReadOnly = false;
                    mskOgretmenTc.ReadOnly = false;
                    button2.Enabled = true;
                    button5.Enabled = true;
                    button4.Enabled = true;
                    button3.Enabled = true;
                    button6.Enabled = true;
                    listView1.Enabled = true;
                    mskOgrenciTc.Enabled = true;
                    txtKayitBedeli.Enabled = true;
                    lblUyari.Text = String.Empty;
                    mskOgrenciTc.Clear();
                    mskOgretmenTc.Clear();
                    mskSinifKodu.Clear();
                    txtKayitBedeli.Clear();
                    txtOgrenciAdiSoyadi.Clear();
                    txtOgretmenAdiSoyadi.Clear();
                    txtSinifAdi.Clear();
                    txtDersIsmi.Clear();
                    baglan.Close();
                }




            }

        }








        }
    }


